草庐IT

JavaScript setTimeout 无法访问函数变量

全部标签

javascript - 当回调采用多个参数时如何 promise 一个函数

有什么方法可以在回调接受两个以上参数的情况下promisify一个函数?一个例子是node的fs.read,回调的三个参数是err、bytes和data。data参数没有传递给then函数,所以这个记录未定义:varfs=require('fs');varPromise=require('bluebird');varopen=Promise.promisify(fs.open);varread=Promise.promisify(fs.read);open('test.txt','r').then(function(fd){varbuffer=newBuffer(1024);read(

javascript - 访问以下 JSON 中的值

如何访问以下JSON中Numbers数组中的第二个数字“19”?我已经尝试了所有方法,但都无法做到。{"Numbers":[{"1":6},{"2":19},{"3":34},{"4":38},{"5":70}],"MB":5,"MP":"05","DrawDate":"2016-03-22T00:00:00"} 最佳答案 您可以通过以下方式访问:object.Numbers[1]['2']那是因为Numbers对象是一个键值对象数组,其中是您想要的值。 关于javascript-访问以

javascript - 在javascript中制作一个范围函数

我正在尝试在javascript中创建一个函数,该函数从range(start,end)返回一个数组,我应该创建一个可选参数,当它未定义时默认为一个。当我提供所有参数时我可以使该函数工作,但当我只传递两个参数时返回一个空数组。这是问题:Writearangefunctionthattakestwoarguments,startandend,andreturnsanarraycontainingallthenumbersfromstartupto(andincluding)end.Next,writeasumfunctionthattakesanarrayofnumbersandretu

javascript - ng-table 的 getData 函数中未定义的参数

我在使用ng-table时遇到了一个问题,其中应该传递到我的getData函数的参数是未定义的。我是AngularJS和ng-table的新手,所以我们将不胜感激。我已经通过直接调用下面代码中的REST调用来验证它们是否有效,所以问题出在我的Angular代码/配置中。无论如何,这是我的Controller的伪示例。实际代码在内部网上,所以我不能直接粘贴,所以请原谅转录中的错别字。使用ng-table1.0.0和angular1.5.8:myApp.controller('myCtrl',['$scope','$http','NgTableParams',function($scope

javascript - 为什么这个递归函数返回未定义?

我正在尝试编写一个使用递归组合两个字符串的函数。我的代码在下面,但我不知道为什么函数返回undefined尤其是当我在基本情况下console.log并且它不打印undefined而是打印正确的值时。varstr3=""functionmerge(str1,str2){if(str1.length==0||str2.length==0){console.log(str3)returnstr3;}else{str3=str3+str1.substring(0,1)+str2.substring(0,1);merge(str1.substring(1,str1.length),str2.s

javascript - 将变量字符串值转换为 JavaScript 中的表达式

我正在尝试将字符串值转换为表达式,以便我可以在以下if条件下使用它:varStringVal='20>18&&"yes"=="yes"';if(StringVal){....}是否可以这样做,请建议我。谢谢 最佳答案 从用户来源获取输入并对其进行评估通常不安全,但您可以使用Function评估,或evalvarStringVal='20>18&&"yes"=="yes"';if(newFunction('return('+StringVal+')')()){console.log('ok');}Areeval()andnewFunc

javascript - 有没有办法使用变量创建对象并忽略 undefined variable ?

我正在尝试找到一种创建对象的方法,在创建对象时它会忽略未定义的值。在下面的示例中,变量someNames在创建对象时具有未知内容。constsomeNames={catName:'purry',rabbitName:'floppy',turtleName:'shelly'};const{catName,dogName,hamsterName,rabbitName}=someNames;constanimalNames=Object.assign({},{catName,dogName,hamsterName,rabbitName});console.log(animalNames);/

javascript - 如何使用工厂函数编写 JavaScript

我正在阅读thisarticle关于尝试在JavaScript中模仿OOP的风险,有以下内容:InJavaScript,factoryfunctionsaresimplyconstructorfunctionsminusthenewrequirement,globalpollutiondangerandawkwardlimitations(includingthatannoyinginitialcapitalizedletterconvention).JavaScriptdoesn’tneedconstructorfunctionsbecauseanyfunctioncanreturn

javascript - 从 DOM 调用服务函数 - Angular 2

有什么方法可以从DOM调用服务中定义的函数,我可以从DOM调用组件函数,但我们如何调用服务函数,如下所示:@Injectable()exportclassUtilsService{constructor(){}getSessionId(){}}GetSession 最佳答案 View绑定(bind)中表达式的范围仅限于组件类实例。不支持直接从View访问静态、全局、类型(枚举)...。为了能够在View中引用它,它必须可以通过组件类实例访问:constructor(publicutilsService:UtilsService){}

javascript - 未捕获的 TypeError : element. removeClass 不是 Jquery 中的函数

这个问题在这里已经有了答案:JQuery-object.idisundefinedwhenitshouldn'tbe(2个答案)关闭6年前。我用这个Sample对于验证我的表单,但出现此错误:未捕获的类型错误:element.removeClass不是函数说removeClass()不是函数!!我很困惑我的Js代码:$(function(){varform=$('#CompanyStep'),formData=$.data(form[0]),settings=formData.validator.settings,oldErrorPlacement=settings.errorPlac